

Global Table of Contents
- Version 1.1
-
-
-
- MIPS Technologies, Inc.
-
- 2011 North Shoreline
-
- Mountain View, California 94039-7311
-
-
-
- http://www.mips.com
-
- Acknowledgments
-
-
-
- About This Manual
-
- Glossary
-
- Stylistic Conventions
-
- Getting MIPS Documents On-Line
-
- 1. - Introduction to the R10000 Processor
-
- 1.1 - MIPS Instruction Set Architecture (ISA)
-
- 1.2 - What is a Superscalar Processor?
-
- Pipeline and Superpipeline Architecture
-
- Superscalar Architecture
-
- 1.3 - What is an R10000 Microprocessor?
-
- R10000 Superscalar Pipeline
-
- Instruction Queues
-
- Execution Pipelines
-
- 64-bit Integer ALU Pipeline
-
- Load/Store Pipeline
-
- 64-bit Floating-Point Pipeline
-
- Functional Units
-
- Primary Instruction Cache (I-cache)
-
- Primary Data Cache (D-cache)
-
- Instruction Decode And Rename Unit
-
- Branch Unit
-
- External Interfaces
-
- 1.4 - Instruction Queues
-
- Integer Queue
-
- Floating-Point Queue
-
- Address Queue
-
- 1.5 - Program Order and Dependencies
-
- Instruction Dependencies
-
- Execution Order and Stalling
-
- Branch Prediction and Speculative Execution
-
- Resolving Operand Dependencies
-
- Resolving Exception Dependencies
-
- Strong Ordering
-
- An Example of Strong Ordering
-
- 1.6 - R10000 Pipelines
-
- Stage 1
-
- Stage 2
-
- Stage 3
-
- Stages 4-6
-
- Floating-Point Multiplier (3-stage Pipeline)
-
- Floating-Point Divide and Square-Root Units
-
- Floating-Point Adder (3-stage Pipeline)
-
- Integer ALU1 (1-stage Pipeline)
-
- Integer ALU2 (1-stage Pipeline)
-
- Address Calculation and Translation in the TLB
-
- 1.7 - Implications of R10000 Microarchitecture on Software
-
- Superscalar Instruction Issue
-
- Speculative Execution
-
- Nonblocking Caches
-
- 1.8 - R10000-Specific CPU Instructions
-
- PREF
-
- LL/SC
-
- SYNC
-
- 1.9 - Performance
-
- User Instruction Latency and Repeat Rate
-
- Other Performance Issues
-
- Cache Performance
-
- 2. - System Configurations
-
- 2.1 - Uniprocessor Systems
-
- 2.2 - Multiprocessor Systems
-
- Multiprocessor Systems Using Dedicated External Agents
-
- Multiprocessor Systems Using a Cluster Bus
-
- 3. - Interface Signal Descriptions
-
- 3.1 - Power Interface Signals
-
- 3.2 - Secondary Cache Interface Signals
-
- 3.3 - System Interface Signals
-
- 3.4 - Test Interface Signals
-
- 4. - Cache Organization and Coherency
-
- 4.1 - Primary Instruction Cache
-
- 4.2 - Primary Data Cache
-
- 4.3 - Secondary Cache
-
- 4.4 - Cache Algorithms
-
- Descriptions of the Cache Algorithms
-
- Uncached
-
- Cacheable Noncoherent
-
- Cacheable Coherent Exclusive
-
- Cacheable Coherent Exclusive on Write
-
- Uncached Accelerated
-
- 4.5 - Relationship Between Cached and Uncached Operations
-
- 4.6 - Cache Algorithms and Processor Requests
-
- 4.7 - Cache Block Ownership
-
- 5. - Secondary Cache Interface
-
- 5.1 - Tag and Data Arrays
-
- 5.2 - Secondary Cache Interface Frequencies
-
- 5.3 - Secondary Cache Indexing
-
- Indexing the Data Array
-
- Indexing the Tag Array
-
- 5.4 - Secondary Cache Way Prediction Table
-
- 5.5 - Secondary Cache Tag
-
- SCTag(25:4), Physical Tag
-
- SCTag(3:2), PIdx
-
- SCTag(1:0), Cache Block State
-
- 5.6 - Read Sequences
-
- 4-Word Read Sequence
-
- 8-Word Read Sequence
-
- 16 or 32-Word Read Sequence
-
- Tag Read Sequence
-
- 5.7 - Write Sequences
-
- 4-Word Write Sequence
-
- 8-Word Write Sequence
-
- 16 or 32-Word Write Sequence
-
- Tag Write Sequence
-
- 6. - System Interface Operations
-
- 6.1 - Request and Response Cycles
-
- 6.2 - System Interface Frequencies
-
- 6.3 - Register-to-Register Operation
-
- 6.4 - System Interface Signals
-
- 6.5 - Master and Slave States
-
- 6.6 - Connecting to an External Agent
-
- 6.7 - Cluster Bus
-
- 6.8 - System Interface Connections
-
- Uniprocessor System
-
- Multiprocessor System Using Dedicated External Agents
-
- Multiprocessor System Using the Cluster Bus
-
- 6.9 - System Interface Requests and Responses
-
- Processor Requests
-
- External Responses
-
- External Requests
-
- Processor Responses
-
- Outstanding Requests and Request Numbers
-
- Request and Response Relationship
-
- 6.10 - System Interface Buffers
-
- Incoming Buffer
-
- Cached Request Buffer
-
- Outgoing Buffer
-
- Uncached Buffer
-
- Cluster Request Buffer
-
- 6.11 - System Interface Flow Control
-
- Processor Write and Eliminate Request Flow Control
-
- Processor Read and Upgrade Request Flow Control
-
- Processor Coherency Data Response Flow Control
-
- External Request Flow Control
-
- External Data Response Flow Control
-
- 6.12 - System Interface Block Data Ordering
-
- External Block Data Responses
-
- Processor Coherency Data Responses
-
- Processor Block Write Requests
-
- 6.13 - System Interface Bus Encoding
-
- SysCmd[11:0] Encoding
-
- SysCmd[11] Encoding
-
- SysCmd[10:0] Address Cycle Encoding
-
- SysCmd[10:0] Data Cycle Encoding
-
- SysCmd[11:0] Map
-
- SysAD[63:0] Encoding
-
- SysAD[63:0] Address Cycle Encoding
-
- SysAD[63:60]
-
- SysAD[59:58] Uncached Attribute
-
- SysAD[57]
-
- SysAD[56:40]
-
- SysAD[39:0]
-
- SysAD[63:0] Data Cycle Encoding
-
- SysState[2:0] Encoding
-
- SysResp[4:0] Encoding
-
- 6.14 - Interrupts
-
- Hardware Interrupts
-
- Software Interrupts
-
- Timer Interrupt
-
- Nonmaskable Interrupt
-
- 6.15 - Protocol Abbreviations
-
- 6.16 - System Interface Arbitration
-
- System Interface Arbitration Rules
-
- Uniprocessor System
-
- Multiprocessor System Using Cluster Bus
-
- 6.17 - System Interface Request and Response Protocol
-
- Processor Request Protocol
-
- Processor Block Read Request Protocol
-
- Processor Double/Single/Partial-Word Read Request Protocol
-
- Processor Block Write Request Protocol
-
- Processor Double/Single/Partial-Word Write Request Protocol
-
- Processor Upgrade Request Protocol
-
- Processor Eliminate Request Protocol
-
- Processor Request Flow Control Protocol
-
- External Response Protocol
-
- External Block Data Response Protocol
-
- External Double/Single/Partial-Word Data Response Protocol
-
- External Completion Response Protocol
-
- External Request Protocol
-
- External Intervention Request Protocol
-
- External Allocate Request Number Request Protocol
-
- External Invalidate Request Protocol
-
- External Interrupt Request Protocol
-
- Processor Response Protocol
-
- Processor Coherency State Response Protocol
-
- Processor Coherency Data Response Protocol
-
- 6.18 - System Interface Coherency
-
- External Intervention Shared Request
-
- External Intervention Exclusive Request
-
- External Invalidate Request
-
- External Coherency Request Action
-
- Coherency Conflicts
-
- Internal Coherency Conflicts
-
- External Coherency Conflicts
-
- External Coherency Request Latency
-
- SysGblPerf* Signal
-
- 6.19 - Cluster Bus Operation
-
- 6.20 - Support for I/O
-
- 6.21 - Support for External Duplicate Tags
-
- 6.22 - Support for a Directory-Based Coherency Protocol
-
- 6.23 - Support for Uncached Attribute
-
- 6.24 - Support for Hardware Emulation
-
- 7. - Clock Signals
-
- 7.1 - System Interface Clock and Internal Processor Clock Domains
-
- 7.2 - Secondary Cache Clock
-
- 7.3 - Phase-Locked-Loop
-
- 8. - Initialization
-
- 8.1 - Initialization of Logical Registers
-
- 8.2 - Power-On Reset Sequence
-
- 8.3 - Cold Reset Sequence
-
- 8.4 - Soft Reset Sequence
-
- 8.5 - Mode Bits
-
- 9. - Error Protection and Handling
-
- 9.1 - Correctable Errors
-
- 9.2 - Uncorrectable Errors
-
- 9.3 - Propagation of Uncorrectable Errors
-
- 9.4 - Cache Error Exception
-
- 9.5 - CP0 CacheErr Register EW Bit
-
- 9.6 - CP0 Status Register DE Bit
-
- 9.7 - CACHE Instruction
-
- 9.8 - Error Protection Schemes Used by R10000
-
- Parity
-
- Sparse Encoding
-
- ECC
-
- 9.9 - Primary Instruction Cache Error Protection and Handling
-
- Error Protection
-
- Error Handling
-
- 9.10 - Primary Data Cache Error Protection and Handling
-
- Error Protection
-
- Error Handling
-
- 9.11 - Secondary Cache Error Protection and Handling
-
- Error Protection
-
- Error Handling
-
- Data Array
-
- Data Array in Correction Mode
-
- Data Array in Noncorrection Mode
-
- Tag Array
-
- 9.12 - System Interface Error Protection and Handling
-
- Error Protection
-
- Error Handling
-
- SysCmd(11:0) Bus
-
- SysAD(63:0) Bus
-
- Processor in Master State
-
- Processor in Slave State
-
- Correctable Error Detected
-
- Uncorrectable Error Detected
-
- SysState(2:0) Bus
-
- SysResp(4:0) Bus
-
- Protocol Observation
-
- 10. - CACHE Instructions
-
- 10.1 - Notes on CACHE Instruction Operations
-
- Virtual Address
-
- Physical Address
-
- CP0 Not Usable
-
- TLB Refill and TLB Invalid Exceptions on CacheOps
-
- Hit Operation Accesses
-
- Watch Exception
-
- Address Error Exception
-
- Write Back
-
- Invalidation
-
- CE Bit
-
- CH Bit
-
- Serial Operation of CACHE Instructions
-
- Instructions Not Supported
-
- Op Field Encoding
-
- 10.2 - Index Invalidate (I)
-
- 10.3 - Index WriteBack Invalidate (D)
-
- 10.4 - Index WriteBack Invalidate (S)
-
- 10.5 - Index Load Tag (I)
-
- 10.6 - Index Load Tag (D)
-
- 10.7 - Index Load Tag (S)
-
- 10.8 - Index Store Tag (I)
-
- 10.9 - Index Store Tag (D)
-
- 10.10 - Index Store Tag (S)
-
- 10.11 - Hit Invalidate (I)
-
- 10.12 - Hit Invalidate (D)
-
- 10.13 - Hit Invalidate (S)
-
- 10.14 - Cache Barrier
-
- 10.15 - Hit Writeback Invalidate (D)
-
- 10.16 - Hit WriteBack Invalidate (S)
-
- 10.17 - Index Load Data (I)
-
- 10.18 - Index Load Data (D)
-
- 10.19 - Index Load Data (S)
-
- 10.20 - Index Store Data (I)
-
- 10.21 - Index Store Data (D)
-
- 10.22 - Index Store Data (S)
-
- 11. - JTAG Interface Operation
-
- 11.1 - Test Access Port (TAP)
-
- TAP Controller (Input)
-
- 11.2 - Instruction Register
-
- 11.3 - Bypass Register
-
- 11.4 - Boundary Scan Register
-
- 12. - Electrical Specifications
-
- 12.1 - DC Electrical Specification
-
- DC Power Supply Levels
-
- DCOk and Power Supply Sequencing
-
- Maximum Operating Conditions
-
- Input Signal Level Sensing
-
- Mode Definitions
-
- Vref[SC,Sys]
-
- Unused Inputs
-
- DC Input/Output Specifications
-
- 12.2 - AC Electrical Specification
-
- Maximum Operating Conditions
-
- Test Specification
-
- Secondary Cache and System Interface Timing
-
- Enable/Output Delay, Setup, Hold Time
-
- Asynchronous Inputs
-
- 12.3 - Signal Integrity Issues
-
- Reference Voltage
-
- Power Supply Regulation
-
- Maximum Input Voltage Levels
-
- Decoupling Capacitance
-
- Output I-V Curves
-
- Switching and Slew Rate Characteristics
-
- 13. - Packaging
-
- 13.1 - R10000 Single-Chip Package, 599CLGA
-
- Mechanical Characteristics
-
- Electrical Characteristics
-
- Thermal Characteristics
-
- Assembly Drawings and Pinout List
-
- 599CLGA Pinout
-
- 14. - Coprocessor 0
-
- 14.1 - Index Register (0)
-
- 14.2 - Random Register (1)
-
- 14.3 - EntryLo0 (2), and EntryLo1 (3) Registers
-
- 14.4 - Context (4)
-
- 14.5 - PageMask Register (5)
-
- 14.6 - Wired Register (6)
-
- 14.7 - BadVAddr Register (8)
-
- 14.8 - Count and Compare Registers (9 and 11)
-
- 14.9 - EntryHi Register (10)
-
- 14.10 - Status Register (12)
-
- Status Register Fields
-
- Diagnostic Status Field
-
- Coprocessor Accessibility
-
- 14.11 - Cause Register (13)
-
- 14.12 - Exception Program Counter (14)
-
- 14.13 - Processor Revision Identifier (PRId) Register (15)
-
- 14.14 - Config Register (16)
-
- 14.15 - Load Linked Address (LLAddr) Register (17)
-
- 14.16 - WatchLo (18) and WatchHi (19) Registers
-
- 14.17 - XContext Register (20)
-
- 14.18 - FrameMask Register (21)
-
- 14.19 - Diagnostic Register (22)
-
- 14.20 - Performance Counter Registers (25)
-
- 14.21 - ECC Register (26)
-
- 14.22 - CacheErr Register (27)
-
- CacheErr Register Format for Primary Instruction Cache Errors
-
- CacheErr Register Format for Primary Data Cache Errors
-
- CacheErr Register Format for Secondary Cache Errors
-
- CacheErr Register Format for System Interface Errors
-
- 14.23 - TagLo (28) and TagHi (29) Registers
-
- CacheOp is Index Load/Store Tag
-
- Primary Instruction Cache Operation
-
- Primary Data Cache Operation
-
- Secondary Cache Operation
-
- CacheOp is Index Load/Store Data
-
- Primary Instruction Cache Operation
-
- Primary Data Cache Operation
-
- Secondary Cache Operation
-
- 14.24 - ErrorEPC Register (30)
-
- 14.25 - CP0 Instructions
-
- Hazards
-
- Branch on Coprocessor 0
-
- 14.26 - CP0 Move Instructions
-
- 14.27 - CACHE Instruction
-
- 14.28 - DMFC0 Instruction
-
- 14.29 - DMTC0 Instruction
-
- 14.30 - ERET Instruction
-
- 14.31 - MFC0 Instruction
-
- 14.32 - Move To/From the Performance Counter
-
- 14.33 - MTC0 Instruction
-
- 14.34 - TLBP Instruction
-
- 14.35 - TLBR Instruction
-
- 14.36 - TLBWI Instruction
-
- 14.37 - TLBWR Instruction
-
- 15. - Floating-Point Unit
-
- 15.1 - Floating Point Unit Operations
-
- 15.2 - Floating-Point Unit Control
-
- 15.3 - Floating-Point General Registers (FGRs)
-
- 32- and 64-Bit Operations
-
- Load and Store Operations
-
- 15.4 - Floating-Point Control Registers
-
- Floating-Point Implementation and Revision Register
-
- Floating-Point Status Register (FSR)
-
- Bit Descriptions of the FSR
-
- Loading the FSR
-
- 15.5 - FPU Instructions
-
- CVT.L.fmt
-
- Moves and Conditional Moves
-
- CFC1/CTC1
-
- 16. - Memory Management
-
- 16.1 - Processor Modes
-
- Processor Operating Modes
-
- Addressing Modes
-
- 16.2 - Virtual Address Space
-
- User Mode Operations
-
- 32-bit User Mode (useg)
-
- 64-bit User Mode (xuseg)
-
- Supervisor Mode Operations
-
- 32-bit Supervisor Mode, User Space (suseg)
-
- 32-bit Supervisor Mode, Supervisor Space (sseg)
-
- 64-bit Supervisor Mode, User Space (xsuseg)
-
- 64-bit Supervisor Mode, Current Supervisor Space (xsseg)
-
- 64-bit Supervisor Mode, Separate Supervisor Space (csseg)
-
- Kernel Mode Operations
-
- 32-bit Kernel Mode, User Space (kuseg)
-
- 32-bit Kernel Mode, Kernel Space 0 (kseg0)
-
- 32-bit Kernel Mode, Kernel Space 1 (kseg1)
-
- 32-bit Kernel Mode, Supervisor Space (ksseg)
-
- 32-bit Kernel Mode, Kernel Space 3 (kseg3)
-
- 64-bit Kernel Mode, User Space (xkuseg)
-
- 64-bit Kernel Mode, Current Supervisor Space (xksseg)
-
- 64-bit Kernel Mode, Physical Spaces (xkphys)
-
- 64-bit Kernel Mode, Kernel Space (xkseg)
-
- 64-bit Kernel Mode, Compatibility Spaces (ckseg1:0, cksseg, ckseg3)
-
- Address Space Access Privilege Differences Between the R4400 and R1000
-
- 16.3 - Virtual Address Translation
-
- Virtual Pages
-
- Virtual Page Size Encodings
-
- Using the TLB
-
- Cache Algorithm Field
-
- Format of a TLB Entry
-
- Address Translation
-
- Address Space Identification (ASID)
-
- Global Processes (G)
-
- Avoiding TLB Conflict
-
- 17. - CPU Exceptions
-
- 17.1 - Causing and Returning from an Exception
-
- 17.2 - Exception Vector Locations
-
- 17.3 - TLB Refill Vector Selection
-
- Priority of Exceptions
-
- Cold Reset Exception
-
- Soft Reset Exception
-
- NMI Exception
-
- Address Error Exception
-
- TLB Exceptions
-
- TLB Refill Exception
-
- TLB Invalid Exception
-
- TLB Modified Exception
-
- Cache Error Exception
-
- Virtual Coherency Exception
-
- Bus Error Exception
-
- Integer Overflow Exception
-
- Trap Exception
-
- System Call Exception
-
- Breakpoint Exception
-
- Reserved Instruction Exception
-
- Coprocessor Unusable Exception
-
- Floating-Point Exception
-
- Watch Exception
-
- Interrupt Exception
-
- 17.4 - MIPSIV Instructions
-
- 17.5 - COP0 Instructions
-
- 17.6 - COP1 Instructions
-
- 17.7 - COP2 Instructions
-
- 18. - Cache Test Mode
-
- 18.1 - Interface Signals
-
- 18.2 - System Interface Clock Divisor
-
- 18.3 - Entering Cache Test Mode
-
- 18.4 - Exit Sequence
-
- 18.5 - SysAD(63:0) Encoding
-
- 18.6 - Cache Test Mode Protocol
-
- Normal Write Protocol
-
- Auto-Increment Write Protocol
-
- Normal Read Protocol
-
- Auto-Increment Read Protocol
-
- Glossary
-
- A.1 - Superscalar Processor
-
- A.2 - Pipeline
-
- A.3 - Pipeline Latency
-
- A.4 - Pipeline Repeat Rate
-
- A.5 - Out-of-Order Execution
-
- A.6 - Dynamic Scheduling
-
- A.7 - Instruction Fetch, Decode, Issue, Execution, Completion, and Graduation
-
- A.8 - Active List
-
- A.9 - Free List and Busy Registers
-
- A.10 - Register Renaming
-
- A.11 - Nonblocking Loads and Stores
-
- A.12 - Speculative Branching
-
- A.13 - Logical and Physical Registers
-
- A.14 - Register Files
-
- A.15 - ANDES Architecture
-
-
-

Copyright 1995, MIPS Technologies, Inc. -- 29 JAN 96



Generated with CERN WebMaker